<?php

namespace app\index\controller;
use think\Controller;
use think\Request;
use think\Session;
use think\Db;

class User extends Controller
{
    public function index()
    {
        $str = Session::get();
       // dump($str);die;
        if(!empty($str)){
            $data = db('h_user')
                ->field('name, phone, createtime, email, sex, face')
                ->where('status', '1')
                ->where('id',$str['id'])
                ->find();

            $list = Db::table('sm_h_user')
                    ->alias('hu')
                    ->join('sm_h_favorite hf', 'hf.uid = hu.id')
                    ->join('sm_h_movie hm', 'hm.id = hf.mid')
                    ->field('hm.mname, hm.cover, hm.id')
                    ->where('hu.id',$str['id'])
                    ->select();

            $result = Db::table('sm_h_user')
                        ->alias('hu')
                        ->join('sm_h_comment hc', 'hc.uid = hu.id')
                        ->join('sm_h_movie hm', 'hm.id = hc.mid')
                        ->field('hc.title, hc.comment, hc.time, hm.id, hm.cover,hc.id,hc.mid')
                        ->where('hu.id', $str['id'])
                        ->select();
            // $res = Db::table('sm_h_user')
            //         ->alias('hu')
            //         // ->fetchSql()
            //         ->join('sm_h_comment hc', 'hc.uid = hu.id')
            //         ->join('sm_h_movie hm', 'hm.id = hc.mid')
            //         ->field('hc.title, hc.comment, hc.time, hm.id, hm.cover,hc.id,hc.mid')
            //         ->where('hu.id', $str['id'])
            //         ->paginate(6);
            // dump($res);
            // dump($page);die;
            
            // dump($page);die;
            $sc = count($list);
            $pp = count($result);
//            die;

            return view('index@User/index', [
                'data'=>$data,
                'list'=>$list,
                'sc'=>$sc,
                'pp'=>$pp,
                'result'=>$result
            ]);
        }
        return $this->redirect('index/Index/index');
    }

    /**
     * @return \think\response\View|void
     */
    public function edit()
    {
        $str = Session::get();
//        var_dump($str['id']);die;
        if(!empty($str)){
            $list = db('h_user')
                ->field('name, phone, createtime, email, sex, face,id')
                ->where('id',$str['id'])
                ->find();
//            var_dump($list);die;
            return view('index@User/edit', [
                'list'=>$list
            ]);
        }
        return $this->redirect('index/Index/index');
    }
    public function imgPath(Request $request){
        $data = $request->post();
        // dump($data['uid']);
        // dump(request()->file());exit;
        $file = request()->file('file');
        if ($file != null) {
            $info = $file->move(ROOT_PATH . 'public/uploads');
            if ($info) {
                $a = $info->getSaveName();
                $face = str_replace("\\", "/", $a);
                $user = [
                    'face'=>$face
                ];
                $result = db('h_user')
//                    ->fetchSql()
                    ->where('id', $data['uid'])
                    ->update($user);
                if ($result) {
                    return json($user);
                } else {
                    return false;
                }
            } else {
                echo $file->getError();
            }
        }
    }

    public function update(Request $request)
    {
        $data = $request->post();
        $id = Session::get('id');
        $user = [
            'name'=>$data['name'],
            'sex'=>$data['sex'],
        ];
        $result = db('h_user')
            ->where('id', $id)
            ->update($user);
        if ($result) {
            Session::set('name', $user['name']);
            return $result;
        } else {
            return false;
        }
        // $file = request()->file('face');
        // if ($file != null) {
        //     // 获取表单上传文件 例如上传了001.jpg
        //     // 移动到框架应用根目录/public/uploads/ 目录下
        //     $info = $file->move(ROOT_PATH . 'public/uploads');

        //     if ($info) {
                // // 成功上传后 获取上传信息
                // $id = Session::get('id');
                // $a = $info->getSaveName();
                // $face = str_replace("\\", "/", $a);
//                 $user = [
//                     'name'=>$data['name'],
//                     'sex'=>$data['sex'],
//                     // 'face'=>$face
//                 ];
//                 $result = db('h_user')
// //                    ->fetchSql()
//                     // ->where('id', $id)
//                     ->where('id', $data['id'])
//                     ->update($user);

//                var_dump($result);

                // if ($result) {
                //     // return $this->success('修改成功', url('index/User/index'));
                //     return $result;
                // } else {
                //     // return $this->error('修改失败', url('index/User/edit'));
                //     return false;
                // }

            // } else {
            //     // 上传失败获取错误信息
            //     echo $file->getError();
            // }
//         }else{
//             $id = Session::get('id');
//             $user = [
//                     'name'=>$data['name'],
//                     'sex'=>$data['sex']
//                 ];
//             $result = db('h_user')
// //                    ->fetchSql()
//                 ->where('id', $id)
//                 ->update($user);
//             if ($result) {
//                     // return $this->success('修改成功', url('index/User/index'));
//                 return $result;
//                 } else {
//                     // return $this->error('修改失败', url('index/User/edit'));
//                     return false;
//                 }
//         }
    }

    /**
     * @return 
     */
    public function passEd()
    {
        // var_dump(input('id'));die;
        $id = input('id');
        return view('index@User/passedit', [
            'id'=>$id
        ]);
    }

    public function passUpdate(Request $request)
    {
        $data = $request->post();
        if($data['password'] == $data['repassword']){
            unset($data['repassword']);
            $res = [
                'password'=>md5($data['password'])
            ];
            $str = db('h_user')->where('id', $data['id'])->update($res);
            // return $this->success('修改成功', 'index/User/index');
            return $str;
        }else{
            // return $this->error('两次密码不一致，请重新修改', 'index/User/passEd');
            return false;
        }
    }

    public function delete($id)
    {
        // echo $id;
       $result = db('h_comment')->delete($id);
       if ($result > 0) {
            $info['status'] = true;
            $info['id'] = $id;
        } else {
            $info['status'] = false;
            $info['id'] = $id;
        }
        return json($info);
    }
}